package cn.xiaopengstack.domain.agent.model.valobj;

import lombok.*;

import java.util.ArrayList;
import java.util.List;

/**
 * @author jiangyangang
 * AI客户端值对像
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AiClientVO {
    /**
     * 客户端ID
     */
    private String clientId;

    /**
     * 客户端名称
     */
    private String clientName;

    /**
     * 描述
     */
    private String description;

    /**
     * 对话模型
     */
    private String modelId;

    /**
     * 提示词列表
     */
    private List<String> promptIdList;

    /**
     * Mcp工具列表
     */
    private List<String> mcpIdList;

    /**
     * 顾问列表
     */
    private List<String> advisorIdList;

    public String getModelBeanName(){
        return AiAgentEnumVO.AI_CLIENT_MODEL.getBeanName(modelId);
    }

    public List<String> getMcpBeanNameList() {
        List<String> mcpBeanNameList = new ArrayList<>();
        for (String mcpId : mcpIdList) {
            mcpBeanNameList.add(AiAgentEnumVO.AI_CLIENT_TOOL_MCP.getBeanName(mcpId));
        }
        return mcpBeanNameList;
    }

    public List<String> getAdvisorBeanNameList() {
        List<String> advisorBeanNameList = new ArrayList<>();
        for (String advisorId : advisorIdList) {
            advisorBeanNameList.add(AiAgentEnumVO.AI_CLIENT_ADVISOR.getBeanName(advisorId));
        }
        return advisorBeanNameList;
    }

}
